微软工程师展望Rust 2023:重写编译器、解决管理问题
Nick Cameron 是就职于微软负责 Rust 开发的首席工程师,此前是 Rust 核心开发团队的成员。他在 3 个月前发表文章:“Rust 面临的十大挑战”,称这是 Rust 应该在 2023 年要解决的问题。
上周他又发表了文章:“Rust in 2023”,表达对 Rust 和 Rust 社区在 2023 年的展望,比如优先要做的工作,以及 Rust 值得着手改进的方向。
两件重要大事
解决 Rust 社区的治理和领导问题
Nick Cameron 认为,目前最重要的是解决 Rust 社区的治理和领导问题。原因在于这些问题阻碍了许多潜在工作,而且持续时间越长,会导致项目累积的 “治理债” 越多。更令人尴尬的是,在 Rust 核心团队内讧一年多后,仍没有关于新领导团队的建议。
而对于 Rust 的治理,Nick Cameron 认为需要更新 RFC 流程,以及重新审视团队和工作组的组织架构。目前由于缺少领导团队完成当前变革,这些工作都停滞了。
此外,他认为 Rust 要重写审视 “稳定而不停滞” 的战略。避免停滞非常重要,Rust 不能停止创新,但也不能无限制地任由其发展。因为语言的复杂性和规模是有代价的,这与 Rust 让人们编写可靠和高性能软件的使命不一致(他认为需要让编程语言更简单、更小、更易于使用)。仅仅保持向后兼容性并不意味着实现了稳定性。
Nick 表示自己有点担心 Rust 正在讨论或设计的新功能的数量,而且目前也没有关于 Rust 发展方向的策略。
重写编译器
Nick 认为,Rust 目前的架构已经难以支持实现增量编译、并行编译等功能。重新开始则可以使用上更多的技术,团队可以通过这种机会认真优化编译时间,简化未来的开发难度。再结合 Rust 2.0,他们可以减少由于向后兼容而导致的技术债,并改进语言,实现更快的编译。
其他值得着手改进的地方
Cargo
Cargo(和 crates.io)是非常重要的工具,并且处于很多重要事情的关键路径上(供应链安全、常规安全、与其他语言的集成、与其他构建系统的集成、构建时间……),但目前对它的资源投入严重不足,几乎不可能取得进展(需要明确的是,目前的团队不应该受到责备,他们在恶劣的条件下做得很好,只是由于这是一项艰苦的工作)。
Nick 提出了解决这个问题的方案:向 Cargo 和 crates.io 团队中任何愿意接手它的人提供资金,集中指导潜在的新团队成员(如果这些人不存在,然后说服一些支持 Rust 的大公司,让他们每家找一个人把 1/4 的工作时间花在 Cargo 上),然后与这些成员一起快速扩大团队(即使他们对代码库只有部分了解),并再次开始鼓励贡献和新功能。
异步
目前异步编程的相关工作进展得很顺利,Nick 称希望事情在 2023 年开始好转并取得实实在在的成果。关于这一点,他对自己的缓慢进展感到有些沮丧,遗憾的是,大多数异步工作组都在忙着其他事情。不过事情正在发生变化,他认为,对于异步来说,2023 年将是令人兴奋的一年。它应该仍然是 Rust 的一个高度优先事项。
不安全编程
不安全代码指南工作组及其他一些人在定义 Rust 内存模型方面做了很多工作,并为不安全编程提供了工具和指南。Nick 认为,对 Rust 来说,进一步推进这方面的工作非常重要。因为安全性是 Rust 的主要卖点,为了让不安全编程变得更安全、更简单,我们做得越多越好。
原文:https://www.ncameron.org/blog/rust-in-2023/
往期推荐
一周热点 | 2022.12.13-2022.12.19
Linus批评英特尔的LAM代码,拒绝将其合并到内核
Linux 6.2内核合并了新的Zstd实现
点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦~